package com.lxmes.sales.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.lxmes.base.domain.JcIteminfo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lxmes.common.annotation.Excel;
import com.lxmes.common.core.domain.BaseEntity;

/**
 * 合同管理表对象 nc_contract
 *
 * @author ruoyi
 * @date 2022-11-29
 */

@NoArgsConstructor
@AllArgsConstructor
@ToString
@Data
public class NcContract extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String uuid;

    /** 公司代码 */
    @Excel(name = "公司代码",type = Excel.Type.EXPORT)
    private String gcCode;

    /** 公司名称 */
    @Excel(name = "公司名称",type = Excel.Type.EXPORT)
    private String gcName;

    /** 日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
//    @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date contractDate;

    /** 伙伴类型 */
//    @Excel(name = "伙伴类型")
    private String hbType;

    /** 伙伴代码 */
    private Long hbId;

    /** 伙伴代码 */
    @Excel(name = "伙伴代码")
    private String hbCode;

    /** 伙伴名称 */
    @Excel(name = "伙伴名称")
    private String hbName;

    /** 伙伴税号 */
    @Excel(name = "伙伴税号")
    private String hbShuihao;

    /** 伙伴地址 */
    @Excel(name = "伙伴地址")
    private String hbAddress;

    /** 伙伴电话 */
    @Excel(name = "伙伴电话")
    private String hbPhone;

    /** 伙伴开户银行 */
    @Excel(name = "伙伴开户银行")
    private String hbBank;

    /** 伙伴账号 */
    @Excel(name = "伙伴账号")
    private String hbCard;

    /** 伙伴联系人 */
    @Excel(name = "伙伴联系人")
    private String hbName2;

    /** 伙伴联系电话 */
    @Excel(name = "伙伴联系电话")
    private String hbPhone2;

    /** 合同编号 */
    @Excel(name = "合同编号",type = Excel.Type.EXPORT)
    private String contractId;

    /** 合同签订日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "合同签订日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date contractQdDate;

    /** 合同交货日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "合同交货日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date contractJhDate;

    /** 合同签订人 */
    @Excel(name = "合同签订人")
    private String contractQdName;

    /** 产品编号 */
    @Excel(name = "物料编号")
    private String item;

    /** 产品名称 */
    @Excel(name = "物料名称")
    private String itemName;

    /** 规格型号 */
    @Excel(name = "规格型号")
    private String spec;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 合同单价 */
    @Excel(name = "单价")
    private BigDecimal contractUnitPrice;

    /** 合同数量 */
    @Excel(name = "数量")
    private Long contractNum;

    /** 经办人 */
//    @Excel(name = "经办人")
    private String jingbanren;

    /** 提成比例 */
//    @Excel(name = "提成比例")
    private BigDecimal tichengBili;

    /** 提成金额 */
//    @Excel(name = "提成金额")
    private BigDecimal tichengMoney;

    /** 附件 */
//    @Excel(name = "附件")
    private String attach;

    private String isGenOrder;
    /** 报价单号 */
    private String bjdH;

    private List<NcQuotedPrice> itemList;

    private List<NcContractDetail> jcIteminfoList;

    /*合同状态*/
    private String state;

    /*是否打印*/
    private String isPrint;

    private String createDate;

//    @Excel(name = "客户合同号")
    private String clientContractNo;

    private BigDecimal jhUnitPrice;

    private String supplierName;
    private String supplierCode;
    private String supplyId;

    private String type;


//    @Excel(name="合同说明")
//    private String contractInstruction;
    /** 部门数据隔离代码 */
    private Long deptId;

}
